home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 34 / Mac Magazin and MacEasy Magazine CD - Issue 34.iso / Grafik & Text / Alpha ƒ / Help / HTML Help < prev    next >
Text File  |  1997-04-01  |  93KB  |  2,193 lines

  1.                          HTML mode version 1.4.1
  2.     
  3.                         Copyright by Johan Linde
  4.                               April 1997
  5.                                                  
  6. Use the marks menu [M] ------------------------------------------------- >> 
  7. to quickly jump to different sections of this file.
  8.  
  9. There is also an HTML formatted version of this manual, with lots of screen
  10. shots. You can find it in the folder HTML mode manual. (Not included in 
  11. AlphaLite.)
  12.  
  13. HTML Mode is for editing HyperText Markup Language documents (suffix 
  14. ".html", ".htm" or ".shtml"). Whenever you open or save a file with any of 
  15. these suffixes, Alpha switches to HTML mode and inserts the HTML mode menu 
  16. in the menu bar. You can also manually switch to HTML mode with the popup 
  17. mode menu in the status bar.
  18.  
  19. HTML mode does not teach you HTML. Therefore you have to know at least 
  20. some HTML to use it.  If you do not know about HTML, I recommend that you 
  21. read "A Beginner's Guide to HTML".  It is a good first text to read.  
  22. You can find it at
  23. http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html 
  24. I have collected some other links to HTML guides. See the section on
  25. HTML Tutorials and references.
  26.  
  27. The basic idea with this HTML environment is to save you time while typing, 
  28. by having key bindings for all HTML elements.  Also, you do not have to 
  29. worry about misspelt HTML tags, missing end quotes, or missing end tags.  
  30. HTML mode is probably most useful for HTML programmers with some experience 
  31. of HTML, who are looking for an editor that makes the editing easier and 
  32. faster.
  33.  
  34. When you use this package, by default you will see bullet characters (•), 
  35. called "tab marks", being dribbled near where you insert elements.  These 
  36. are supposed to be a feature.  The tab key takes you to the next one and 
  37. automatically deletes the bullet.  Read the section "How to use tab marks"
  38. to learn to use them in the best way.
  39.  
  40. ===============================================================================
  41. = HTML mode features
  42. ===============================================================================
  43.  
  44. • HTML mode knows HTML 3.2 and Netscape's extensions to HTML.
  45. • Tools to easily and quickly insert HTML elements and give them 
  46.   attributes. Each element has its own key binding.
  47. • Tools to easily change or remove HTML elements.
  48. • Tools for building lists and tables.
  49. • You can define colors with a color picker to use on your web pages.
  50. • You can check that all links between your files are OK.
  51. • You can move files between folders and automatically update all links 
  52.   between and in them.
  53. • Support for dynamically included files.
  54. • Conversion of NCSA and CERN image map files to client side image maps.
  55. • Support for editing of JavaScript.
  56. • Translation of special characters, å, ó, ü etc.  to 
  57.   and from their HTML entities.
  58. • Files are sent to your browser with one key stroke.
  59. • Any menu item can be bound to any single key stroke.
  60. • You can define new HTML elements. Therefore you don't have to wait for 
  61.   Alpha to be updated to use it for new HTML.
  62. • etc. etc.
  63.  
  64. Acknowledgment
  65.  
  66. First of all, I would like to thank Pete Keleher for writing Alpha, the 
  67. best editor in the world, without which my TCL code would be pretty 
  68. useless.  I am also indebted to Scott Brim who wrote an earlier version of 
  69. Alpha's HTML mode.  Some ideas and tcl code were taken from html.el for GNU 
  70. Emacs and latex.tcl for Alpha.  François Pottier gave me lots of help with 
  71. the code which makes Alpha talk to Big Brother.  The algorithm for 
  72. extracting the width and height of JPEG images were written by Alex Knowles 
  73. and Andrew Tong.  Many thanks to Michael O'Henly for making the wonderful 
  74. Alpha HTML mode intro site.  He has also who sent me a list with 
  75. corrections of the language in this manual.  (Don't blame him for the 
  76. remaining errors!)  And thanks to everybody who has sent me suggestions and 
  77. bug reports.  You know who you are.
  78.  
  79. I want feedback! All comments on HTML mode are welcome. Many features in 
  80. HTML mode were suggested by HTML mode users. Don't hesitate to send me 
  81. your ideas. In particular, please tell me
  82. • about bugs of any kind,
  83. • about new feature you want to have included in the HTML mode,
  84. • if you think some function behaves stupidly,
  85. • if some HTML element is not defined correctly,
  86. • if something is not explained well enough in this help file.
  87.  
  88. You may also tell me that you like HTML mode. :-)
  89.  
  90. I have a page http://bach.theophys.kth.se/~jl/Alpha.html where you can 
  91. download new versions of HTML mode before they are included in the general 
  92. Alpha distribution.
  93.  
  94. If you want to be notified about new releases, including beta releases, 
  95. send me a mail and I'll put you on my mailing list.
  96.  
  97.                                 Johan Linde <jl@theophys.kth.se>
  98.  
  99. HTML mode is free.  This means that it may be used freely, and distributed 
  100. freely, as long as the receiver is not obligated in any way by receiving it.  
  101. HTML mode consists of the files html.tcl, htmlCustom.tcl, htmlElems.tcl, 
  102. htmlEngine.tcl, htmlExtra.tcl, htmlMenu.tcl, htmlMode.tcl, htmlUtils.tcl, 
  103. this help file and the HTML formatted manual in the folder HTMLmanual.
  104.  
  105. However, Alpha itself is not free. It's shareware.
  106.  
  107. Writing HTML mode has taken a considerable amount of time.  Therefore, if 
  108. you like HTML mode and use it a lot, I would very much appreciate if you 
  109. send me a colorful postcard and tell me that.  It would give me new energy 
  110. to add new features to HTML mode.  Note that emails don't count as 
  111. postcards.  Emails are not pretty enough to put on the wall. My address is
  112.  
  113. Johan Linde
  114. Lojovägen 61
  115. S-181 47 LIDINGÖ
  116. SWEDEN
  117.  
  118. ===============================================================================
  119. = Language
  120. ===============================================================================
  121.  
  122. My mother tongue is Swedish.  Therefore you will, no doubt, find 
  123. grammatical and other errors in this document and in HTML mode.  Please 
  124. tell me about any such error you find -- in a menu, dialog box, error 
  125. message...
  126.  
  127. But before you complain, I must tell you that I know that "color" is spelt 
  128. "colour".  :-)
  129.  
  130. ===============================================================================
  131. = Version history
  132. ===============================================================================
  133.  
  134. Version 1.4.1, 2 April 1997
  135.  
  136. • A few changes to the HTML 3.2 package to make it agree with the final 
  137.   recommendation from W3C 14 January 1997.
  138. • Alpha can now optionally save a window without asking when you send it 
  139.   to your browser.
  140. • If you have more than one version of the same browser and one is running, 
  141.   Alpha no longer tries to launch the second one when you send a file to 
  142.   the first one.
  143. • You can now set the line width of your HTML documents (fillColumn 
  144.   variable).
  145. • A couple of bug fixes. In particular a bug which in a few cases would 
  146.   extract the wrong width and height of gifs and jpegs has been fixed.
  147.  
  148. Version 1.4, 21 January 1997
  149.  
  150. • Files outside home page folders are considered to have URLs like 
  151.   file:///path/to/file.html.  This implies that you can now check links 
  152.   between all files, not only the ones in your home page folders.  Similarly 
  153.   you can make links via a file dialog between all files, and 
  154.   cmd-double-click now works for all files.
  155. • Improved integration with Big Brother. (You need Big Brother 1.1 or 
  156.   later.)
  157. • Each home page folder can have a corresponding include folder, where you 
  158.   can put all your files to be dynamically included. This include folder is 
  159.   mapped to the same URL as the home page folder.
  160. • 'Move files' works for files in these new include folders.
  161. • 'Update folder' and 'update file' for include files.
  162. • Case-sensitive link checking.
  163. • You can now choose if you want to check anchors when you check links.
  164. • Unsafe characters in URLs are coded when they are inserted, e.g. space 
  165.   becomes %20.
  166. • Long opening tags are wrapped when they are inserted.
  167. • Cmd-double-click on an include tag opens file.
  168. • Home page URLs no longer have to be specified in two pieces.
  169. • 'Check links' didn't work for anchors with spaces. Fixed.
  170. • 'Check folder' can now optionally check subfolders.
  171. • 'Convert NCSA map' couldn't correctly translate circle areas. Fixed.
  172. • When image maps are converted, the default URL is now put last.
  173. • color_9 ... color_15 can be used as keyword color.
  174. • The predefined colors are replaced by the 16 ones defined in HTML 3.2.
  175. • HTML manual can be opened from the menu.
  176. • Added onReset to FORM.
  177. • Added HEIGHT to TABLE.
  178. • SHAPE=DEFAULT removed from HTML 3.2 package.
  179. • ALT is now correctly a required attribute of AREA.
  180. • A couple of other minor changes and bug fixes.
  181.  
  182. Version 1.3, 17 November 1996
  183.  
  184. • New submenu 'Browsers' where you can add all your browsers, and quickly
  185.   choose which one to send files to. ('Choose browser' is gone, and as a 
  186.   concequence changed the key binding for SCRIPT back again.)
  187. • 'Check links' now checks anchors.
  188. • Fixed a bug in 'Check links' for links like HREF="#anchor" in files 
  189.   containing a <BASE HREF="url">.
  190. • Improved error handling in 'Move files' and 'Update home page'.
  191. • Fixed a bug with include tags split into two lines.
  192. • 'Includes' now works for paths containing the characters "<>.
  193. • Similar fix for 'last modified date'.
  194. • A few other minor changes and fixes.
  195.  
  196. Version 1.3b2, 4 November 1996
  197.  
  198. • The HTML prefs file (if any) sometimes wasn't loaded in 1.3b1. Fixed.
  199. • Modified 'Table template'.
  200. • New 'Tabs to Rows' dialog.
  201. • Function to import a table from a file.
  202. • 'Make list' can now optionally insert list tags.
  203. • Untitled windows could not be sent to browser. Fixed.
  204. • Updating dynamically included files now changes last modified date.
  205. • Importing an exported URL cache missed first URL. Fixed.
  206. • You can now go back in 'Clean up cache' dialog.
  207. • BASEFONT added to HTML 3.2 package. (Included in the latest draft from 
  208.   W3C.)
  209. • Described in this help file how to easily bind any menu item to any single
  210.   keystroke.
  211.  
  212. Version 1.3b1, 22 October 1996
  213.  
  214. • You can now define more than one home page folder, each containing files 
  215.   of different sites.
  216. • Support for dynamically included files.
  217. • Conversion of NCSA and CERN image map files to client side image maps.
  218. • New interface for defining colors. You can now also define a color by 
  219.   specifying its hexadecimal number.
  220. • New interface for footers.
  221. • When selecting a GIF or JPEG file for <IMG> via a file dialog its width 
  222.   and height are automatically determined. The algorithm for JPEG is taken 
  223.   from the perl script 'wwwimagesize' by Alex Knowles, alex@ed.ac.uk, 
  224.   and Andrew Tong, werdna@ugcs.caltech.edu.
  225. • The URL cache can be exported to a file for later use.
  226. • You can scan any file for URLs and import them to the URL cache.
  227. • The names of the files in a folder can be imported to the URL cache.
  228. • 'Last modified date' can automatically be inserted when you save a file.
  229. • Link checking can be done with Big Brother by François Pottier.
  230. • Function to change choices directly in the document.
  231. • Translation of <>&.
  232. • A user friendly settings dialog.
  233. • Cmd-double-click on a color attribute brings up a color picker and let 
  234.   you change the color.
  235. • Ctrl-q to skip the rest of the attributes in status bar.
  236. • Required attributes are asked for again in status bar.
  237. • Links checks can be done in the current window.
  238. • 'Comment' and 'Comment line' insert HTML comment or JavaScript comment 
  239.   depending on the position.
  240. • Funcs menu lists headers H1-6.
  241. • Function to select the content of a container.
  242. • Shift-ctrl-opt-space bound to  
  243. • Table template optionally without TABLE tags.
  244. • Comment color in JavaScript coloring can be changed.
  245. • 'Reveal color' has moved to new 'Editing' sub menu, and has got a new key 
  246.   binding.
  247. • Added ARCHIVE and MAYSCRIPT to APPLET.
  248. • Some other minor changes.
  249.  
  250. Version 1.2.2, 3 October 1996
  251.  
  252. • You can now change browser for preview (option on 'send file to browser').
  253.   As a consequence, the key binding for SCRIPT is changed.
  254. • 'Check links', 'Move files' and cmd-double-click now correctly interpret
  255.   links like HREF="#anchor" as pointing to the file itself and not to 
  256.   "index.html#anchor".
  257. • The same functions now ignores "news:" links like they always have ignored
  258.   "mailto:" links.
  259.  
  260. Version 1.2.1, 12 September 1996
  261.  
  262. • 'Move files' no longer remove blank lines in the moved files.
  263. • Special window names _self _top _parent _blank correctly set to lowercase.
  264. • 'Mark file' didn't find header when opening tag was split into two 
  265.   lines. Fixed.
  266. • HTTP-EQUIV is no longer a required attribute of META.
  267. • Value of NAME attribute to A, MAP and FRAME wasn't added to cache when 
  268.   tags were set in lowercase. Fixed.
  269.  
  270. Version 1.2, 3 August 1996
  271.  
  272. • The package HTML 2.0 is removed, since it is out-dated. From now on 
  273.   there will only be two packages, one with the latest official HTML and 
  274.   one where extensions have been included.
  275. • There is now only two way to input attributes, the dialogs introduced 
  276.   in 1.1 and the status bar.
  277. • Improved behavior when attributes are given in the status bar. ctrl-z to 
  278.   cancel, ctrl-f for a file dialog or new color. When a value is chosen 
  279.   from a popup window, Alpha immediately jumps to the next attribute.
  280. • A new user friendly way to add new HTML elements.
  281. • A function to move files between folders and automatically update all 
  282.   links to and in them.
  283. • Changed JavaScript coloring. Only reserved words are colored, not built 
  284.   in methods and properties. Comments in JavaScript are now colored.
  285. • A window cache just like the URL cache. Frame names are automatically added 
  286.   to this cache.
  287. • A new submenu with plug-ins.
  288. • JavaScript's event handlers can now optionally appear in the attribute dialog.
  289. • Only one menu item for <A>.
  290. • Added SRC to <SCRIPT>.
  291. • Added <NOSCRIPT>, <MULTICOL> and <SPACER>.
  292. • Added FRAMEBORDER, BORDERCOLOR to <FRAME>.
  293. • Added FRAMEBORDER, BORDERCOLOR, BORDER to <FRAMESET>.
  294. • Added FACE to <FONT>.
  295. • Added onMouseOut to <A>.
  296. • Added onAbort, onError, onLoad to <IMG>.
  297. • Added onClick, onMouseOver, onMouseOut to <AREA>.
  298. • When trying to add a link via a file dialog, windows with ' <n>' added to 
  299.   the window name were asked to be saved even if they already were saved.  
  300.   Fixed!
  301. • Send file to browser didn't work for windows with ' <n>' appended. Fixed!
  302. • Problems finding the browser fixed.
  303. • Reveal color didn't find color attribute if color wasn't quoted. Fixed!
  304. • Check links didn't find BASE if it was split into two lines. Fixed!
  305. • Check links and cmd-double-click now correctly interpret paths of the form
  306.   "./file.html".
  307. • Check links and cmd-double-click now search for a file index.html when a 
  308.   link points to a folder.
  309. • Check links didn't work for files with UNIX or IBM newlines. (All links 
  310.   were found to be ok.) Fixed!
  311. • Some lists couldn't be inserted when using the status bar. Fixed!
  312. • 'Change opening' didn't work for INPUT elements in lower case. Fixed!
  313. • The variable htmlElemAttrsForAll is no longer supported.
  314. • Some other minor changes and bug fixes.
  315.  
  316. Version 1.1.1, 17 June 1996
  317.  
  318. • Rewrote some of the code so that HTML mode loads faster.
  319. • The menu Use Attributes is disabled when it is not needed.
  320. • Added <U> and <NOEMBED>.
  321. • The new suffix mapping is used to determine if a file is a HTML file 
  322.   when deciding which files to scan to check the links.
  323.  
  324. Version 1.1, 21 May 1996
  325.  
  326. • The HTML elements are put into three packages, HTML 2.0, HTML 3.2 and 
  327.   Extensions.
  328. • Support for JavaScript coloring and editing.
  329. • A function to check that all links between files in your home page are ok.
  330. • Attributes to an element can be input in one single dialog box, 
  331.   rather that giving the attributes one after another.
  332. • When you are asked about an URL attribute, you can choose a file via a 
  333.   file dialog. The relative path is automatically inserted.
  334. • "Fill paragraph" is now sensitive to HTML elements.
  335. • cmd-doubleclick on a relative URL opens the file, or if it does not 
  336.   exits, it can create a new file and save it in the right place.
  337. • You can define a new color when you are asked about a color attribute.
  338. • You can define files with footers, which can be automatically inserted 
  339.   when you create a new document.
  340. • Control that a value given to a number attribute is valid.
  341. • Control that a value given to a color attribute is valid.
  342. • New dialog box for "New document" where you can choose which elements 
  343.   you want in the head, and also select a file with a footer to insert in the 
  344.   end of the body.
  345. • Character translation can be done in a selection. The translation is also
  346.   a lot faster.
  347. • Tab marks can be removed in a selection.
  348. • "Select container" and "Untag" now find the correct pair of tags when 
  349.   there are elements of the same kind within each other, like a <TABLE> within 
  350.   a <TABLE>.
  351. • "Select container" and "Untag" now ignores all tags without a closing tag.
  352. • A function to select a tag with no closing tag.
  353. • A function to untag a element with no closing tag.
  354. • A function to untag a container and automatically select the content.
  355. • A function to change an element in the document.
  356. • New key binding for untag: ctrl-F1. It has been bundled with the new functions 
  357.   just mentioned.
  358. • Mark file now finds headers with opening and closing tags on different 
  359.   lines. Each menu item is limited to 30 characters, not to make them too long.
  360. • If you use any of the two old ways of inputting attributes, you can 
  361.   set a flag for each element, so that you can optionally be asked about the 
  362.   attributes not chosen in the "Use attributes" menu.
  363. • A table template function, to quickly make tables.
  364. • With "Tabs to rows" you can now optionally put table headers in first 
  365.   row and/or column.
  366. • "Rows to tabs" now follow the HTML code, not the line breaks in the file.
  367. • A function to insert <BR> at the end of every line in a selection.
  368. • A function to remove every <BR> in a selection.
  369. • A function to insert <P> at empty lines in a selection.
  370. • A function to make a HTML list from a *'d list.
  371. • Undo is now easier, although you sometimes still have to make two "Undos" 
  372.   to undo something.
  373. • For attributes which can take any value, beginning and ending spaces are
  374.   no longer removed. Sometimes these spaces are wanted.
  375. • When <A NAME="xxx"> or <MAP NAME="xxx"> is inserted, "#xxx" is added to 
  376.   URL cache.
  377. • New dialog box for cleaning up URL cache.
  378. • Two identical colors can no longer be defined.
  379. • New elements STRIKE and DFN.
  380. • New element <INPUT TYPE=BUTTON> in extensions package. To be used 
  381.   together with JavaScript.
  382. • A couple of new attributes added so some elements.
  383. • For the AREA element, a check is made that you use one of the attributes 
  384.   HREF and NOHREF is used, but not both.
  385. • The key binding for "Comment line" have been changed to ctrl-C-L to 
  386.   conform with other modes.
  387.   
  388. Version 1.0, 25 March 1996
  389.  
  390. • A lot of new elements are included.
  391. • It's possible to define colors to use as background color, text color etc. 
  392.   from a color picker.
  393. • Translation of accented letters (é, á etc.) to HTML entities and vice versa.
  394. • The attributes of the elements are divided into required and optional ones.
  395.   If you skip a required one, no element is inserted. You can no longer make 
  396.   elements like <A></A>.
  397. • For some elements there is a separate key binding as well as menu item to
  398.   automatically skip all attributes.
  399. • Improved behavior when the status bar is used to input attributes.
  400. • Untagging works better.
  401. • Marking of the file works better.
  402. • Plus a number of other small changes.
  403.  
  404. ===============================================================================
  405. = Known bugs / limitations
  406. ===============================================================================
  407.  
  408. The first three are general Alpha bugs beyond my control and may have been 
  409. fixed by the time you read this.
  410.  
  411. • Switching coloring of JavaScript keywords on or off has no effect until 
  412.   you switch to another window.
  413. • Disabled menu items can be accessed from a palette.
  414. • Sometimes when you undo, Alpha doesn't redraw the text correctly. (Ctrl-L 
  415.   to redraw the window.)
  416. • Sometimes you have to undo twice to undo something. (This is a 
  417.   workaround to avoid this redraw bug as much as possible.)
  418. • 'Check links' and 'move files' don't recognize comments.
  419. • 'Check links' and 'move files' only search for strings like HREF="file" 
  420.   without checking that they are inside a tag.
  421. • 'Move files' only updates files in the home page folder where you move 
  422.   files and doesn't update files in other home page folders.
  423. • If you use 'save all', windows not at the front are brought to front 
  424.   when saved. (This is not exactly a bug, it is only unusual behavior.)
  425. • 'Change choice' for EMBED assumes general EMBED.
  426.  
  427. ===============================================================================
  428. = Configuring HTML mode
  429. ===============================================================================
  430.  
  431. There are several functions in HTML mode for maintaining one or more www 
  432. sites.  To be able to use these functions in the best way you have to tell 
  433. Alpha which folder contains the files of a www site.  To do this use 'Home 
  434. pages' in the menu 'HTML Utilities'.  The idea is that each of those 
  435. folders, together with their subfolders, should contain all your html files 
  436. at a server and be a mirror of your home page at the corresponding server.
  437.  
  438. In the dialog window you have the following:
  439.  
  440. Server URLs: a menu with the current home pages for which you have a folder.
  441.  
  442. Home Page Folder: The folder corresponding to the home page selected in 
  443. the menu.
  444.  
  445. Include Folder: The include folder corresponding to the home page selected 
  446. in the menu.
  447.  
  448. Default file: The default file corresponding to the home page selected in 
  449. the menu.
  450.  
  451. Tip: Use the up and down arrows to navigate in the menu.
  452.  
  453. New: To define a new home page folder. You are presented with a second 
  454. dialog where you should set the following:
  455.  
  456.     Home Page Folder: The folder corresponding to the home page.
  457.     
  458.     Include Folder: A folder where you can put your files to be dynamically 
  459.     included. This folder is mapped to the same URL as the home page folder.
  460.     To define an include folder is optional. Read more about dynamically 
  461.     included files here.
  462.     
  463.     Server URL: The URL to your home page, for example 
  464.     http://www.somewhere.net/~myplace/
  465.     
  466.     Default file: The file which is used if a link points to a directory.  
  467.     This name depends on the configuration of your server, but is usually 
  468.     index.html.
  469.  
  470. Change: To change the home page selected in the menu.
  471.  
  472. Remove: To remove the home page selected in the menu.
  473.  
  474. Tell Big Brother: If you check this check box, the URL mappings will be 
  475. changed in Big Brother's settings, when you click OK. Big Brother is told 
  476. which home page folders map to which URLs.  Big Brother is a shareware 
  477. program for checking links by François Pottier, Francois.Pottier@inria.fr.  
  478. You can get Big Brother from his home page, http://pauillac.inria.fr/~fpottier/
  479.  
  480.  
  481. ===============================================================================
  482. = The HTML Packages
  483. ===============================================================================
  484.  
  485. The HTML elements are put into two packages, which can be loaded 
  486. separately.
  487.  
  488. HTML 3.2 - Contains everything in HTML 3.2 as in the recommendation by World 
  489.            Wide Web Consortium released 14 January 1997. 
  490.  
  491. Extensions - Contains everything in HTML 3.2 plus extensions to 
  492.             HTML.
  493.  
  494. You have probably heard of HTML 3.0.  It was a proposal for extending HTML 
  495. published in March 1995.  HTML 3.0 was never widely deployed.  HTML 3.2, on 
  496. the other hand, adds widely deployed features such as tables, applets and 
  497. text flow around images, while providing backwards compatibility with the 
  498. old standard HTML 2.0.
  499.  
  500. ===============================================================================
  501. = How to use tab marks (•)
  502. ===============================================================================
  503.  
  504. When you insert HTML elements via the HTML menu you will see bullet 
  505. characters (•), called tab marks, being inserted after the element.  These 
  506. tab marks are supposed to be a feature.  The way to use them is the 
  507. following: Suppose you want to insert a header H1.  First choose "Header 1" 
  508. from the menu (and give the attribute a value if you want).  In the 
  509. document will now be inserted
  510.  
  511. <H1></H1>
  512.  
  513.  
  514. with the insertion point between the H1 tags.  Now first type the header 
  515. text:
  516.  
  517. <H1>My header</H1>
  518.  
  519.  
  520. When you have done so, hit tab and the insertion point will jump to the 
  521. tab mark and delete it.  You are now ready to continue typing.
  522.  
  523. If your document has been cluttered with tab marks, which you do not want 
  524. to use, you can remove them all with cmd-tab.  If you do not want to use 
  525. tab marks at all, you can change Alpha's behavior in the settings dialog, 
  526. so that the tab marks are not inserted.
  527.  
  528. ================================================================================ 
  529. = Text wrapping 
  530. ================================================================================
  531.  
  532. It is very easy to insert an HTML element in an existing text.  For example, 
  533. suppose that in some text there is the word "important" which you want in 
  534. boldface. First select the word, then choose "Bold" from the menu (or type the 
  535. equivalent key binding) and "important" will be wrapped by the HTML tags to 
  536. give <B>important</B>.  This behavior is the same for all elements which 
  537. are containers.  Inserting an HTML element never deletes a selection.
  538.  
  539. ===============================================================================
  540. = Coloring
  541. ===============================================================================
  542.  
  543. The text in your HTML files can be colored in two different ways. By 
  544. default all HTML tags are colored blue, like
  545.  
  546. <A HREF="file.html">a link somewhere</A>
  547.  
  548. In the settings dialog you can tell Alpha to change the coloring and also 
  549. color JavaScript keywords.  These are then colored magenta.  But the 
  550. coloring of the HTML tags also changes, like
  551.  
  552. <INPUT TYPE="BUTTON" VALUE="pi" onClick="piKnapp(this.form)">
  553.  
  554. While this coloring is primarily intended to be used for files with 
  555. JavaScript, it can also be a better choice for files with very little text 
  556. and mostly HTML tags.  Have in mind though that JavaScript keywords 
  557. (if else this...)  will be colored even when they are part of ordinary 
  558. text.
  559.  
  560. Bug: When you change the way of coloring, nothing happens until you switch 
  561. to another window.
  562.  
  563. ================================================================================
  564. = Funcs menu
  565. ================================================================================
  566.  
  567. If you press the two curly braces in the right hand corner of the window 
  568. (the so called 'funcs menu'), this menu will display an item for each 
  569. header H1-6 in your file.  You can then easily jump to a header by 
  570. selecting it in the menu.  The menu items are truncated after 30 
  571. characters, to prevent them from becoming too long.
  572.  
  573. ================================================================================
  574. = How HTML mode behaves when it asks for attributes to an HTML element.
  575. ================================================================================
  576.  
  577. If an HTML element has attributes, they can be asked about in two different 
  578. ways: either in a dialog box with all attributes (the default), or in the 
  579. status bar.  In the settings dialog you can change which of these two ways 
  580. you want to use.
  581.  
  582. The attributes can be divided into eight categories: URLs, colors, target 
  583. windows, predefined choices (for example ALIGN=LEFT|CENTER|RIGHT), numbers, 
  584. flags, event handlers, and other.  The category 'other' contains attributes 
  585. which can take any value plus some which do not fit into any of the other 
  586. categories.
  587.  
  588. Using dialog boxes.
  589.  
  590. In the settings dialog you can tell Alpha to include JavaScript's event 
  591. handlers in the dialog.  By default they are not included.
  592.  
  593. URLs     -    You can specify the URL in three ways:
  594.             1) type the URL in the text box,
  595.             2) choose one from the menu with your URL cache,
  596.             3) select a file via a file dialog. The file you have 
  597.             selected will be put in the menu.
  598.             
  599.             It is probably much faster to type the URL than selecting a 
  600.             file from a file dialog, but the advantage to using the file 
  601.             dialog is that it will automatically insert a correct absolute 
  602.             or relative URL depending on which is appropriate.  If you use 
  603.             a BASE tag in the current window it will be noticed.
  604.             
  605.             Files inside home page folders are mapped to a URL 
  606.             http://as.you.have.defined.it/file.html
  607.             and files outside the home page folders are mapped to a URL
  608.             file:///path/to/file.html
  609.             
  610.             Alpha first determines the URL of the two files, and then 
  611.             determines the URL to link between them.
  612.             *) If you link within a home page folders you will get a 
  613.             relative URL.
  614.             *) If you link between two different home page folders like 
  615.             http://here.net/ and http://there.net/ you will get an absolute 
  616.             URL.
  617.             *) If you link between two different home page folders like 
  618.             http://www.net/~me/ and http://www.net/~you/ (at the same 
  619.             server), you will get a relative URL.
  620.             
  621.             You can also make links between files which are not in a home 
  622.             page folder, but linking between files, where one inside a home 
  623.             page folder and the other one is not, may not always make 
  624.             sense.
  625.             
  626.             If you type a URL in the text box, it will be used even if you 
  627.             choose something from the menu.
  628.  
  629.             If you select a GIF or JPEG file for the attribute SRC to IMG 
  630.             via a file dialog, the attributes WIDTH and HEIGHT are 
  631.             automatically determined.  The algorithm for JPEGs is taken 
  632.             from the perl script 'wwwimagesize' by Alex Knowles, 
  633.             alex@ed.ac.uk and Andrew Tong, werdna@ugcs.caltech.edu
  634.             
  635. Colors    -    You can specify the color in three ways:
  636.             1) type a hexadecimal number #RRBBGG, which defines the color, 
  637.             in the text box,
  638.             2) choose a color from the menu,
  639.             3) define a new color.  The color so defined will be put in the 
  640.             menu.
  641.             
  642.             If you type something in the text box, it will be used, even if 
  643.             you choose a color from the menu.
  644.  
  645. Window    -    You can specify the target window in two ways:
  646.             1) type the window name in the text box,
  647.             2) choose a window name from the menu with your window cache.
  648.             
  649.             If you type something in the text box, it will be used, even if 
  650.             you choose a window from the menu.
  651.             
  652. Predefined choices - Select a choice from the menu.
  653.  
  654. Numbers -    Attributes which take an integer value. The numbers will be 
  655.             checked that they are in the valid range.
  656.  
  657. Other    -    Attributes which can take any value.  Note that spaces in the 
  658.             beginning and end of what you type are not removed.  (This is 
  659.             always done otherwise.)  This is because sometimes such spaces 
  660.             are wanted.
  661.  
  662. Flags    -    These are attributes which does not take any value. Check the 
  663.             checkbox to use it.
  664.  
  665. Event handlers - Attributes which are event handlers for JavaScript.
  666.  
  667. If an element has very many attributes, the dialog box may have to be 
  668. divided into two, or possibly three, pages to fit your screen.  Then there 
  669. will be a menu in the upper left corner of the dialog box to switch between 
  670. the pages.  The dialog box is made as large as possible before being split 
  671. into two or three pages, so if your screen is large enough this will never 
  672. happen.
  673.  
  674. Alpha will complain if you forget a required attribute, and in most cases 
  675. it will complain if you give a value to an attribute which is not valid.
  676.  
  677. Using the status bar.
  678.  
  679. By default not all attributes are asked about.  Use the menu Use Attributes 
  680. to determine which attributes you want to be asked about.  There you can 
  681. also set a flag 'Ask for more?'  for each element.  If you answer yes, the 
  682. following will happen when you are asked about attributes for this element:
  683. *) You are first asked about the ones you have selected via this menu.    
  684. *) Then you get a question "More attributes?"    
  685. *) If you answer yes, you will then be asked about the rest of the 
  686. attributes.
  687. The idea is that you can put a kind of halfway mark.  First you are asked 
  688. about the ones you always want to be asked about, and then you are 
  689. optionally asked about the rest.
  690.  
  691. If you told Alpha to include event handlers in the dialog, JavaScript's 
  692. event handlers will be asked about for those elements to which you have set 
  693. 'Ask for more' to yes.
  694.     
  695. By default, Alpha beeps for each attribute it asks you about.  You can turn 
  696. off the beeps in the settings dialog.
  697.  
  698. You can simply type the value you want for an attribute (for colors you can 
  699. either type a number #RRBBGG or a color name), but some keys have special 
  700. functions to speed up your work.
  701.     
  702. tab - If you are asked about an attribute with predefined choices, for 
  703.     example ALIGN=LEFT|CENTER|RIGHT, tab will match what you have typed 
  704.     against your options, and attempt to complete what you have typed.  
  705.     Suppose you type C and then tab.  The letters ENTER will then 
  706.     automatically be inserted.  The same is true if you are asked for a 
  707.     URL, a target window or a color.  Tab will then match against your URL 
  708.     cache, the window cache or the color names defined.
  709.           
  710. double tab - If there are predefined choices or you are asked for a URL, 
  711.     a color or a target window, double tab will put up a list with 
  712.     everything that match what you have typed so far.  If you, for example, 
  713.     have forgotten which choices there are, hit double tab without typing 
  714.     anything to get a list with all possible choices.  Once you have chosen 
  715.     something from the list, Alpha immediately jumps to ask you about the 
  716.     next attribute.
  717.           
  718. cmd-v Pastes the clipboard into the status bar.  This is useful, for 
  719.     example, if you want to insert a URL which you have in another file.
  720.           
  721. ctrl-f - If you want to select a file via a file dialog when asked for a URL, 
  722.     or define a new color when asked for a color, type ctrl-f in the 
  723.     status bar.  Once you have selected a file or defined a new color, 
  724.     Alpha immediately jumps to ask you about the next attribute.
  725.  
  726.     If you select a GIF or JPEG file for the attribute SRC to IMG via a 
  727.     file dialog, the attributes WIDTH and HEIGHT are automatically 
  728.     determined.  Just hit return for the WIDTH and HEIGHT attributes and 
  729.     the automatically determined values will be used.
  730.     
  731. ctrl-q Skips the current and subsequent attributes.  You do not have to 
  732.     go through the whole list of attributes.
  733.  
  734. escape - Deletes everything written.
  735.     
  736. ctrl-z - Cancel everything.
  737.     
  738. If there are predefined choices, only the letters which match a choice can 
  739. be typed.  If you type anything else you just get a beep.  Also, when there 
  740. are predefined choices, if you have typed a unique subset of one of them 
  741. and hit return, the rest will be added.  For example, if the choices are 
  742. ALIGN=LEFT|CENTER|RIGHT and you type R and then return, you will get 
  743. ALIGN=RIGHT. If what you have typed is not unique, the attribute will be 
  744. skipped.  There are a few cases when two letters are needed to get a unique 
  745. choice.
  746.     
  747. Giving no value at all to an attribute means that you skip it.  If you try 
  748. to skip a required attribute, it is asked for again.
  749.  
  750. ===============================================================================
  751. = Editing JavaScript
  752. ===============================================================================
  753.  
  754. HTML mode has support for editing and coloring of JavaScript.  To use this 
  755. you have to change the default configuration in the settings dialog.  The 
  756. following settings concern JavaScript:
  757.  
  758. Color JavaScript keywords
  759. If checked, keywords and comments in JavaScript will be colored.  The way 
  760. the HTML tags are colored is also changed because the old way does not work 
  761. well with JavaScript.  By default it is not checked, do not color 
  762. JavaScript's key words.
  763.  
  764. Electric left braces
  765. When checked, the left braces, {, will be electric like in C mode.  Check 
  766. this if you are editing JavaScript.  That { is electric means that a 
  767. carriage return will automatically be inserted and the next line will be 
  768. indented when you type {. By default it is not checked, { is not electric.
  769.  
  770. Electric right braces
  771. When checked, the right braces, }, will be electric like in C mode.  Check 
  772. this if you are editing JavaScript.  By default it is not checked, } is not 
  773. electric.
  774.  
  775. Include event handlers in attribute dialog
  776. When checked, the event handlers (onFocus onSelect etc.)  will appear in 
  777. the attribute dialog.  By default it is not checked, no event handlers in 
  778. the attribute dialog.
  779.  
  780. Color of JavaScript keywords
  781. The color of keywords in JavaScript.  Applies only if you choose to color 
  782. JavaScript keywords. The default is magenta.
  783.     
  784. Color of JavaScript comments
  785. The color of comments in JavaScript.  Applies only if you choose to color 
  786. JavaScript keywords. The default is red.
  787.  
  788. Color of strings
  789. The color of everything between quotes.  Applies only if you choose to 
  790. color JavaScript keywords.  The default is green.
  791.  
  792. If you do not have an American keyboard, you may have to set two key 
  793. bindings to be able to use the electric left and right braces.  For 
  794. example, on my Swedish keyboard { is shift-opt-8 and } is shift-opt-9.  To 
  795. use the electric braces I have to bind these keys with
  796.  
  797. bind '8' <so> electricLeft        HTML
  798. bind '9' <so> electricRight        HTML
  799.  
  800. This is put in HTML's preference file, via the menu Config -> Current 
  801. mode -> Edit Prefs. Change your key bindings similarly if needed.
  802.  
  803. ================================================================================
  804. = Key Bindings
  805. ================================================================================
  806.  
  807. All HTML elements have their own key bindings.  You can find them all in 
  808. the HTML menu.  I have tried to group them as much as possible so that they 
  809. are easy to learn.
  810.  
  811. Other key bindings not found in the menu:
  812.  
  813. tab         Jump to the next tab mark (•)
  814. shift-tab    Jump to the previous tab mark (•)
  815. opt-tab        Literal tab
  816. cmd-tab     Remove all •
  817.  
  818. shift-ctl-opt-,         inserts <
  819. shift-ctl-opt-.            inserts >
  820. shift-ctl-opt-7            inserts &
  821. shift-ctl-opt-space        inserts  
  822.  
  823. Defining your own key bindings.
  824.  
  825. Any menu item in HTML mode can be bound to any single keystroke.  The way 
  826. to bind a function is with a statement such as:
  827.   
  828.     bind 'c' <modifier string> {htmlMenuItem "submenu" "menu item"} HTML
  829.           
  830. where c is a character, <modifier string> is an optional string containing 
  831. one or more of:
  832.  
  833.     c   - command modifier
  834.     o   - option modifier
  835.     s   - shift modifier
  836.     z   - control modifier
  837.  
  838. For example, to bind 'Check Window' to ctrl-opt-W, use the statement
  839.     
  840.     bind 'w' <zo> {htmlMenuItem "Check Links" "Check Window"} HTML
  841.  
  842. As another example, to bind 'Import Table…' to ctrl-shift-J, use the 
  843. statement
  844.  
  845.     bind 'j' <zs> {htmlMenuItem "Tables" "Import Table"} HTML
  846.     
  847. Such statements can be put in your HTML prefs file.  Use Config 
  848. -> Current Mode -> Edit Prefs.  If a menu item ends with three dots … the 
  849. dots must be omitted in the above statement defining the key binding.  If a 
  850. menu item is renamed or moved in a later version of HTML mode, remember 
  851. that you have to change your key bindings.  For more information about key 
  852. bindings, see the general manual for Alpha.
  853.  
  854. ===============================================================================
  855. = Command-double-click
  856. ===============================================================================
  857.  
  858. Command-double-clicking on an absolute URL sends the URL to your web 
  859. browser.  This is not limited to HTML mode.  It is a general feature of 
  860. Alpha.
  861.  
  862. Command-double-clicking on a relative URL opens a new window with the file 
  863. if the file exists and it is a text file.  If it does not exist, a new 
  864. empty window can be opened with the name of the file.  This window is 
  865. automatically saved in the right place, and if necessary new folders are 
  866. created.  Thus, if you are making a new set of pages, you can make links to 
  867. the ones you have not written yet and then, by cmd-double-clicking, let 
  868. Alpha make empty files which are saved where you want them.
  869.  
  870. Command-double-clicking on a color attribute brings up a color picker where 
  871. you can change the color.
  872.  
  873. Command-double-clicking on an 'include tag' opens the file.
  874.  
  875. ===============================================================================
  876. = The HTML Menu
  877. ===============================================================================
  878.  
  879. The menu described here is for the Extensions package. In the 
  880. HTML 3.2 package some menu items are absent.
  881.  
  882. The menus are dynamic. Holding down the option key changes some menu 
  883. items.
  884.  
  885. Browsers    -    To send a document to a browser for viewing, and to select 
  886.                 browsers with which to view documents.  The browser 
  887.                 currently marked in this menu is the one your documents 
  888.                 will be sent to when you use 'Send File to Browser'.  To 
  889.                 change browser, select the browser's menu item to mark it.
  890.                 (You can of course add any kind of program to this menu.  
  891.                 Alpha is not so clever that it can tell which ones are 
  892.                 browsers.)
  893.                 
  894.     Send File to Browser - Launches your browser and sends the document to it.
  895.     
  896.                 You can only have one version of each browser in the menu, 
  897.                 but you can still send files to any version from Alpha.  
  898.                 Let's say you have Netscape 2.0 and 3.0, and that 3.0 is 
  899.                 the one which appears in the menu.  Now launch Netscape 
  900.                 2.0.  Then if you send a window to the browser Alpha will 
  901.                 send it to Netscape 2.0 although you had 3.0 selected the 
  902.                 menu.  If any version of Netscape is running Alpha will 
  903.                 send the window to that one.
  904.                 
  905.                 This is useful when you want to make sure your document 
  906.                 looks OK in older versions of Netscape or any other browser, 
  907.                 for example to make sure that your megacool JavaScript 
  908.                 written for Netscape 3.0 doesn't produce a bazillion error 
  909.                 alerts in 2.0.
  910.                 
  911.                 Two comments about Internet Explorer 3.0 (the only version I 
  912.                 have tested):
  913.                 *) If you use Internet Config and have defined Netscape (for 
  914.                 example) to be the helper for the file protocol, Internet 
  915.                 Explorer will send the file to Netscape.  To be able to 
  916.                 send files to Internet Explorer either don't define any 
  917.                 helper for the file protocol in Internet Config or define 
  918.                 it to be Internet Explorer.                
  919.                 *) Internet Explorer opens a new window every time you send 
  920.                 a file to it. This is not an Alpha bug.
  921.     
  922.     Add…    -    Lets you select a browser and adds it at the bottom of this 
  923.                 menu.
  924.     
  925.     Remove… -    To remove a browser from the menu.
  926.  
  927. Help    -        Opens this file.
  928.  
  929. <opt>Manual -     Opens the HTML formatted version of this help file in your 
  930.                 browser.
  931.  
  932. Packages    -    To choose which package of HTML elements to use.  (See 
  933.                 the section abut the HTML packages.)  If you change 
  934.                 package, the HTML menu is rebuilt.
  935.  
  936. HTML Utilities  -
  937.     Colors…    -    You can define and name colors to use as background, text 
  938.                 and link color etc. on your www page.  Later, when you 
  939.                 insert an element with a color attribute, you can choose 
  940.                 the color for the attribute from a menu.  A set of 16 basic 
  941.                 colors is provided by default.  These are the 16 color 
  942.                 names defined in HTML 3.2. The predefined colors do not 
  943.                 show up in this dialog because you are not allowed to 
  944.                 change them.
  945.     
  946.                 In the popup menu in the dialog window are all color names 
  947.                 you have defined.  Below is the hexadecimal number 
  948.                 corresponding to the color selected in the menu. 
  949.                 
  950.                 Tip: Use the up and down arrows to navigate in the menu.
  951.                 
  952.                 Use
  953.                 
  954.                 New to define a new color with a color picker.
  955.                 
  956.                 Change to change a color with a color picker.
  957.                 
  958.                 Remove to remove the color selected in the menu.
  959.                 
  960.                 New by number to define a new color by specifying its 
  961.                 hexadecimal number #RRBBGG.
  962.                 
  963.                 Change number to change a color by changing its hexadecimal 
  964.                 number #RRBBGG.
  965.                 
  966.                 View to view a color in a color picker.  (Clicking OK and 
  967.                 Cancel in this picker have the same effect.  No changes are 
  968.                 saved.)
  969.  
  970.     Home Pages… - To define which folders contain the files of different sites, 
  971.                 see the section about how to configure HTML mode.
  972.                 
  973.     Footers… -    A footer is a file with text which you automatically can 
  974.                 put into the BODY of the document when you create a new 
  975.                 document.  To use this function,
  976.                 *) first create a file with the text which you want to use 
  977.                 on many of your pages -- for example, directory buttons, your 
  978.                 address etc.
  979.                 *) then define the file to be a footer.
  980.                 
  981.                 When you later use "New document" you can select this file 
  982.                 from a menu, and its content will be put inside the BODY 
  983.                 element.
  984.                 
  985.                 These files can of course contain any kind of text but I 
  986.                 call them footers because my basic idea is that they should 
  987.                 contain things you put at the bottom of every page.
  988.  
  989.                 In the popup menu in the dialog window are the file names 
  990.                 of the footers you have defined.  Below is the full path 
  991.                 corresponding to the file selected in the menu.  The 
  992.                 buttons have the following functions.
  993.     
  994.                 New -  Presents you with a file dialog to pick a file with 
  995.                        a footer.  This does not insert any text in your 
  996.                        document. It only defines a file to be a footer.
  997.                 
  998.                 Remove - Removes the footer selected in the menu. Note: this 
  999.                        does not delete the file. It is just no longer a 
  1000.                        footer.
  1001.                 
  1002.                 Insert - Inserts the footer selected in the menu in the 
  1003.                        document.
  1004.  
  1005.     Editing -    Functions for easier and quicker editing.
  1006.         
  1007.         Select Container -    Selects matching tags which include the current 
  1008.                         position or selection.  Repeated, it expands the 
  1009.                         selection.  Like the "Balance" item under the Edit 
  1010.                         menu.  All tags without a corresponding closing tag 
  1011.                         are ignored.
  1012.             
  1013.     <opt>Select Opening     -    If the first tag to the left of the current 
  1014.                         position is a tag without a corresponding closing 
  1015.                         tag, it is selected.  Repeated it jumps to the next 
  1016.                         one.
  1017.  
  1018.         Select in Container - Same as 'Select Container' except that only the 
  1019.                         content of the container is selected, not the 
  1020.                         enclosing tags.
  1021.  
  1022.         Untag    -        Removes a tag pair surrounding the current position 
  1023.                         or selection.  All tags without a corresponding 
  1024.                         closing tag are ignored.
  1025.                 
  1026.     <opt>Untag and Select -    Same as Untag, but the text inside the container is 
  1027.                         selected.  Use this if you want to change one 
  1028.                         container to another.
  1029.                 
  1030.         Remove Opening - If the first tag to the left of the current 
  1031.                         position is a tag without a corresponding closing 
  1032.                         tag, it is removed.
  1033.                 
  1034.         Change Container -     To change the attributes of the element enclosing 
  1035.                         the current position or selection.  A dialog box 
  1036.                         appears where the current values of all attributes 
  1037.                         are shown.  Change the ones you want and a new tag 
  1038.                         will be inserted in the text.
  1039.                 
  1040.                         If the element you want to change contains anything 
  1041.                         HTML mode does not understand, a warning message 
  1042.                         will first be shown.  If you decide to insert a new 
  1043.                         tag, everything HTML mode does not understand will 
  1044.                         be removed.
  1045.                 
  1046.                         If you are using JavaScript, the event handlers 
  1047.                         will only be shown in the dialog if you have 
  1048.                         checked 'Include event handlers in attribute 
  1049.                         dialog' in the settings dialog.  Otherwise, the 
  1050.                         event handlers are left untouched in the document.
  1051.                 
  1052.     <opt>Change Opening - Same as change container, but for an element with 
  1053.                         no closing tag.  The tag must be the first one to 
  1054.                         the left of the current position to be found.
  1055.                 
  1056.                         As you probably have noticed the logic for finding 
  1057.                         tags is the same for "Select" "Untag/Remove" and 
  1058.                         "Change".
  1059.                 
  1060.                         *) Container: the tags enclosing the current 
  1061.                         position or selection.  All tags without a 
  1062.                         corresponding closing tag are ignored.
  1063.                 
  1064.                         *) Opening: the first tag to the left must be a tag 
  1065.                         without a corresponding closing tag.
  1066.                 
  1067.                         It can be a good idea to first select the container 
  1068.                         or opening tag, before removing or changing them, 
  1069.                         to make sure you select the one you want.
  1070.  
  1071.         Change Choice -    To change an attribute with predefined choices, 
  1072.                         without bringing up a dialog window.  Put the 
  1073.                         insertion point at an attribute with predefined 
  1074.                         choices.  'Change Choice' will then change the 
  1075.                         attribute to the next choice in the list of 
  1076.                         choices.  Use 'Change Choice' several times to go 
  1077.                         through the list.
  1078.  
  1079.         Reveal Color -     If you move the current position to, or select any 
  1080.                         part of, a color attribute in the document and then 
  1081.                         choose "Reveal color", the number will be replaced 
  1082.                         with its name, and if you choose "Reveal color" 
  1083.                         again, the number appears again.  This is useful if 
  1084.                         you want to know what a cryptic color number stands 
  1085.                         for.  Do not forget that the browser only 
  1086.                         understands the number so do not leave the name in 
  1087.                         the document.
  1088.                         
  1089.         Remove Marks -     Remove tab marks, (•).  If some text is selected, 
  1090.                         the tab marks are removed within the selection, 
  1091.                         otherwise they are removed in the whole document.
  1092.                 
  1093.  
  1094.     Character Translation - To translate characters to and from their HTML 
  1095.                         entities.  If some text is selected, the characters 
  1096.                         are translated within the selection, otherwise they 
  1097.                         are translated in the whole document.
  1098.  
  1099.         åäö -> HTML -    translates characters to HTML entities.
  1100.         HTML -> åäö -    translates HTML entities to characters.
  1101.                         The characters which are translated are all that 
  1102.                         you find in the "Small Chars" and "Capital Chars" 
  1103.                         menus (except eth, thorn and y´) plus the Spanish ¡ 
  1104.                         and ¿.
  1105.                         
  1106.         <>& -> HTML -     translates the characters <>& to their HTML entities.
  1107.         HTML -> <>& -     translates them back again.
  1108.         
  1109.     URLs    -    Everything for managing the URL cache.  HTML mode 
  1110.                 accumulates a list of the URLs you use in your HREFs, SRCs 
  1111.                 etc., and saves the list across invocations of Alpha so it 
  1112.                 can help you to insert new URL attributes rapidly.
  1113.                     
  1114.         Clean Up… -        After a while the URL cache can get very large and 
  1115.                         you may want to remove some URLs you do not need.  
  1116.                         You will be presented with a dialog box with a 
  1117.                         checkbox for each URL in your cache.  Uncheck the 
  1118.                         ones you want to remove.  Click "Uncheck all" to, 
  1119.                         guess what, uncheck all checkboxes.  If there are 
  1120.                         more URLs in your cache than fit the window, there 
  1121.                         is a button "More" to take you to the next ones, and
  1122.                         a button "Back" to go back.
  1123.         
  1124.         Clear    -        Removes all URLs from your cache.
  1125.         
  1126.         Import…  -         Scans a file and imports all URLs found to the URL 
  1127.                         cache.
  1128.         
  1129.         Export…  -        Exports all URLs in the cache to a file for later use.
  1130.         
  1131.                         If you create several files with URLs and want to 
  1132.                         move the URLs between them, simply open the files 
  1133.                         and cut and paste.
  1134.             
  1135.         Add Folder… -    Adds the names of all files in a folder to the URL 
  1136.                         cache.  You can optionally add a path before the 
  1137.                         file name. For example, if you have a folder 'pics' 
  1138.                         with images, you might want to add 
  1139.                         'pics/file.gif' to the cache rather than only 
  1140.                         'file.gif'.
  1141.  
  1142.         Add Selection - Adds the current selection to the URL cache.
  1143.         
  1144.         Add Clipboard - Adds the clipboard to the URL cache.
  1145.         
  1146.     Windows -    Everything for managing the window cache.  HTML mode 
  1147.                 accumulates a list of the window names you use as target 
  1148.                 windows and saves the list across invocations of Alpha
  1149.                 so it can help you to insert new window attributes rapidly.
  1150.  
  1151.         Clean Up… -        Works in the same way as Clean up for the URL cache.
  1152.         
  1153.         Clear    -        Removes all windows from your cache.
  1154.                     
  1155.         
  1156.     Check Links - Functions to scan files and check that all links, HREFs, 
  1157.                 SRCs etc.  point to files which exist.  The files which are 
  1158.                 scanned are the HTML text files (the ones which have any 
  1159.                 of the suffixes as specified by the suffix mapping).  
  1160.                 For this to be useful the files in your home page folders 
  1161.                 must be mirrors of the files at your servers.  
  1162.                 If you use this function as intended you never have to 
  1163.                 worry about dead links between your files anymore.
  1164.                  
  1165.                 It works as follows: In every file scanned Alpha looks for 
  1166.                 all HREFs, SRCs, etc in the file.  If you use the BASE 
  1167.                 element it will be noticed and used to determine to which URL 
  1168.                 a link is pointing.
  1169.                 
  1170.                 Links to remote servers, which you don't have a home page 
  1171.                 folder for, are ignored.  Also, if you have a home page 
  1172.                 folder for http://www.net/~myplace/, links like 
  1173.                 http://www.net/file.html are ignored, as they are outside 
  1174.                 your home page.  For all other links, Alpha checks if the 
  1175.                 file exist.
  1176.                 
  1177.                 If any invalid links are found, a window is opened where 
  1178.                 the lines look as follows:
  1179.     
  1180.     file.html                   ; Line 8:    HREF="otherfile.html"
  1181.     file2.html                ; Line 23:  (anchor missing) HREF="file.html#anchor"
  1182.     folder:file3.html           ; Line 17:    (BASE used) SRC="pic/coolpic.gif"
  1183.     
  1184.                 In the first column is the name of the file with the link, 
  1185.                 including the path relative to the home page folder.  In 
  1186.                 the second column is the line number where the invalid link 
  1187.                 is, and in the third column is the link itself.
  1188.                 (anchor missing) means that the file exists but that the anchor
  1189.                 is missing in the file. 
  1190.                 (BASE used) means that the file contains a BASE element.  
  1191.                 Use the up and down arrows to select a line in this window, 
  1192.                 and carriage return to open the file and select the line 
  1193.                 with the invalid link.
  1194.                 
  1195.                 You can optionally check that the case of the links match 
  1196.                 the case of the file names on your disk.  This can be 
  1197.                 useful as Mac file names are not case sensitive, while for 
  1198.                 example unix file names are.  Therefore a link can work on 
  1199.                 your Mac but not work on a unix machine.  In the settings 
  1200.                 dialog you can tell Alpha to make a case sensitive link 
  1201.                 checking.  This is slower and therefore not done by 
  1202.                 default.
  1203.                 
  1204.                 Limitations: 
  1205.                 • If a link is within a comment, <!-- -->, it is 
  1206.                 still checked.
  1207.                 • Alpha only searches for strings like 
  1208.                 HREF="file" without checking that they are inside a tag. 
  1209.                 This means that Alpha could find links, which actually are 
  1210.                 not links.
  1211.  
  1212.         Check Window - Checks links in current window.
  1213.  
  1214.         Check Home Page    - Check links in all html files in a home page 
  1215.                         folder and its sub folders.
  1216.         
  1217.         Check Folder -    To check links in all files in one folder. You can 
  1218.                         optionally check the subfolders.
  1219.         
  1220.         Check File     -    To check links in a single file.
  1221.         
  1222.         Use Big Brother - Marks this menu item to indicate that link checks 
  1223.                         will be done with Big Brother instead of Alpha.  If 
  1224.                         this menu item is checked, files and folders will 
  1225.                         be sent to Big Brother when you check links.
  1226.                         
  1227.                         Some settings are temporarily changed in Big 
  1228.                         Brother, when you send a file or folder to it. These are
  1229.                         *) The URL mapping of your home page folders.
  1230.                         *) If subfolders should be searched or not.
  1231.                         *) Optionally you can tell Big Brother if it should 
  1232.                         ignore remote or local links.  This is done in the 
  1233.                         settings dialog.  By default Big Brother's settings 
  1234.                         for this are used.
  1235.         
  1236.                         Big Brother is a shareware program by François 
  1237.                         Pottier, Francois.Pottier@inria.fr.  You can get 
  1238.                         Big Brother from his home page, 
  1239.                         http://pauillac.inria.fr/~fpottier/
  1240.                 
  1241.                         The big advantage with Big Brother is that it can 
  1242.                         check all your remote links.  It checks local links 
  1243.                         on your hard disk with about the same speed as 
  1244.                         Alpha, but Big Brother can run in the background 
  1245.                         while you do other things.
  1246.                 
  1247.                         Other differences:
  1248.                         *) Big Brother understands all HTML 3.2 links, but 
  1249.                         not things like <FRAME SRC="url">                        
  1250.                         *) Alpha only searches for strings like HREF="url" 
  1251.                         and don't check that they are inside a tag, like <A 
  1252.                         HREF="url">.  Big Brother does that.
  1253.                         *) Big Brother recognizes comments while Alpha 
  1254.                         doesn't.
  1255.                         *) Big Brother doesn't check anchors.
  1256.                         *) Big Brother can't make case sensitive link checking.
  1257.                 
  1258.                         This comparison was done with Big Brother 1.1, 
  1259.                         and may of course not apply to later versions.
  1260.     
  1261.     Includes -    Function to dynamically include files in your document.  
  1262.                 Let's say you have a document where one part contains 
  1263.                 information which is updated frequently while the rest is 
  1264.                 almost never changed.  You can let the part which changes 
  1265.                 often be in another file and insert 'include tags' in the 
  1266.                 original document.  As another example, let's say some 
  1267.                 information is used in more than one document, perhaps if 
  1268.                 you make two versions of your home page, one with frames and 
  1269.                 one without.  You can then have this information in a 
  1270.                 separate file and and insert 'include tags' in the other 
  1271.                 ones.  In this way you only have to make a change at one 
  1272.                 place.  You can later quickly update your files and replace 
  1273.                 the text between the 'include tags'.
  1274.                 
  1275.                 When you define a home page folder, you can also define an 
  1276.                 include folder for it, where you can put all the 'include 
  1277.                 files'.  Although you can put these files anywhere you 
  1278.                 like, the include folder has certain advantages when the 
  1279.                 include files contain links.  Alpha maps the include folder 
  1280.                 to the same URL as the home page folder, and therefore 
  1281.                 treats the files in the include folder as if they were in 
  1282.                 the home page folder.  To see what I mean, consider the 
  1283.                 following example:
  1284.                 
  1285.                 *) Suppose you have a home page folder for http://www.net/ 
  1286.                 and have defined a corresponding include folder.
  1287.                 *) Make a subfolder 'testing' both in the home page folder 
  1288.                 and in the include folder.
  1289.                 *) Open a new file 'include.html' inside the subfolder 
  1290.                 'testing' in the include folder.
  1291.                 *) Make a couple of links from include.html.  Use the file 
  1292.                 dialog and select files in the home page folder.  You will 
  1293.                 see that the relative URLs will be constructed as if 
  1294.                 include.html was in the home page folder.
  1295.                 *) Now open a new file hi.html inside the subfolder 
  1296.                 'testing' in the home page folder.  Use 'Insert include 
  1297.                 tags' and select the file include.html in the include 
  1298.                 folder.  The links in hi.html will now be correct and you 
  1299.                 can send it to your browser and surf around.
  1300.                 
  1301.                 The idea with all this is that you don't have to clutter 
  1302.                 your home page folder with files which are not an actual 
  1303.                 part of your home page, and still take advantage of Alpha's 
  1304.                 functions to make links.
  1305.                 
  1306.                 For this to work the include file must be in a subfolder 
  1307.                 with the same name as the file(s) where it will be 
  1308.                 included.  You have to make sure you put the files in the 
  1309.                 right places yourself.  Alpha won't do that for you.
  1310.                 
  1311.                 A few of other things:
  1312.                 *) If you check links in include.html Alpha will look for 
  1313.                 files in the home page folder.
  1314.                 *) If you cmd-double-click a link in include.html, Alpha 
  1315.                 will open the file in your home page folder.
  1316.                     
  1317.         Insert Include Tags… - Asks you for a file to include, and inserts two 
  1318.                         tags inside comments and the content of the file,
  1319.                 
  1320.                         <!-- #INCLUDE FILE="path to file" -->
  1321.                         content of file
  1322.                         <!-- /#INCLUDE -->
  1323.                 
  1324.                         If you later change the content of the included 
  1325.                         file, you can quickly update the current document 
  1326.                         with the functions below.
  1327.                 
  1328.                         When you use character translation, the opening 
  1329.                         include tag is not translated to avoid making 
  1330.                         the path incorrect.
  1331.                         
  1332.                         If the path contains any of the characters <">#,
  1333.                         they are translated like 
  1334.                         # -> #; 
  1335.                         < -> #lt;
  1336.                         > -> #gt;
  1337.                         " -> #qt;
  1338.                         in order to make the tag unambiguous.
  1339.                 
  1340.         Update Window -    Replaces the text between all pairs of 'include 
  1341.                         tags' with the content of the file specified in the 
  1342.                         opening tags.
  1343.         
  1344.         Update Home Page - Replaces the text between all pairs of 'include 
  1345.                         tags' in all HTML files in a home page folder with the 
  1346.                         content of the file specified in the opening tags.
  1347.  
  1348.         Update Folder -    The same function for a folder.
  1349.         
  1350.         Update File -    The same function for a single file.
  1351.         
  1352.                         If you write anything between the 'include tags', 
  1353.                         it is only a temporary change.  The next time you 
  1354.                         update your document everything between the tags is 
  1355.                         replaced.
  1356.                         
  1357.                         If you remove 'include tags' in a document, make 
  1358.                         sure you remove both the opening tag and the 
  1359.                         corresponding closing tag.
  1360.                         
  1361.                         If a file contains 'last modified date' tags, the date
  1362.                         is changed if the file has been modified.
  1363.         
  1364.                         Recursive including of files is not supported, which 
  1365.                         means that if a file which is included also 
  1366.                         contains 'include tags' they are ignored, and the 
  1367.                         tags, but not the text between them, are removed 
  1368.                         before the text is inserted.
  1369.                         
  1370.     Extend     -    To add new HTML elements, or new attributes to existing 
  1371.                 elements, to HTML mode.  HTML is continuously evolving and 
  1372.                 many browsers have introduced their own extensions.  Here 
  1373.                 you can add what is missing.  New elements will be put in a 
  1374.                 new submenu 'Custom' of the HTML menu.
  1375.                 
  1376.                 You can only add new elements to the extensions package.  
  1377.                 HTML 3.2 is complete as it is.
  1378.                     
  1379.                 IMPORTANT! If you have previously defined new HTML elements 
  1380.                 in the preferences file HTMLPrefs.tcl (could be done in 
  1381.                 HTML mode 1.1.1 and earlier), make sure you remove all of 
  1382.                 them and restart Alpha before using this function.  
  1383.                 Otherwise there is a risk of conflicts between the two 
  1384.                 ways of adding elements.  If you have element definitions 
  1385.                 in your prefs file and you already have loaded HTML mode, 
  1386.                 you may have seen a warning message that the way to add new 
  1387.                 elements has changed.  This warning message is shown if you 
  1388.                 call the function htmlNewElemVar or define the variable 
  1389.                 htmlCustomMenuList.  Remove all such things from the prefs 
  1390.                 file and restart Alpha to avoid this warning.
  1391.                 
  1392.         New Element -     To add a new HTML element.
  1393.         
  1394.                         The elements are divided into three categories.
  1395.                         *) Normal.  All which are not of one of the other 
  1396.                         two categories.
  1397.                         *) Input element.  A <INPUT TYPE="xxx"> element for 
  1398.                         forms.
  1399.                         *) Plug-in. A plug-in using <EMBED>.
  1400.                         
  1401.                         In the first dialog you specify the following.
  1402.                         *) The name of the element.
  1403.                            For 'normal' elements simply give the name, for 
  1404.                            example to define <IMG> you would use 'IMG'.
  1405.                            For 'input elements' give the type, for example 
  1406.                            to define <INPUT TYPE=CHECKBOX> use 'CHECKBOX'.
  1407.                            For 'plug-ins', use any descriptive name you 
  1408.                            like.      
  1409.                         *) If the element has a closing tag </TAG> or 
  1410.                            not.  This only applies to 'normal' ones as 
  1411.                            neither <INPUT> nor <EMBED> has a closing tag.
  1412.                         *) A key binding for the element.  Type one 
  1413.                            character in the text box, and select which of the 
  1414.                            modifiers shift, control, option and command you 
  1415.                            want.  It is a bad idea to choose a key binding 
  1416.                            which conflicts with another one, but if it turns 
  1417.                            out that you have made a bad choice you can change 
  1418.                            it later.  If you do not want any key binding, 
  1419.                            leave the text box blank.
  1420.                         
  1421.                         Next you are asked to specify all the attributes to 
  1422.                         the element.  (I would say that it is a good idea to 
  1423.                         write down the complete definition on a piece of 
  1424.                         paper before you start.)
  1425.                         
  1426.                         In the first dialog for each attribute you specify:
  1427.                         *) Its name.
  1428.                         *) If it is a required attribute or not.
  1429.                         *) Its type.  Make sure you specify the correct 
  1430.                         type for each attribute.  For some types additional 
  1431.                         information must be given.  This is explained in 
  1432.                         detail below.
  1433.                         
  1434.                         The attributes you define will be displayed in the
  1435.                         dialog window as you go along.
  1436.                         
  1437.                         Then click
  1438.                         *) OK when you have given the above information for the 
  1439.                         current attribute.
  1440.                         *) 'No more attributes' *after* you have clicked OK 
  1441.                         for the last attribute.
  1442.                         *) 'Remove last' to remove the last attribute you just 
  1443.                         defined. You can remove them all one after another
  1444.                         to correct a mistake somewhere. 
  1445.                         
  1446.                         The different types are
  1447.                         
  1448.                         *) 'Other'.  Attributes that can take any value or 
  1449.                         do not fit into any of the other seven 
  1450.                         categories.  No additional information is needed.
  1451.                         
  1452.                         *) 'Number'.  Attributes which take an integer 
  1453.                         value.  For these, a second dialog box is shown, 
  1454.                         where you must specify the range of values 
  1455.                         accepted.  A minimum value must be given, but if 
  1456.                         there is no maximum value, leave the text box for 
  1457.                         this blank.  You should also specify if the value 
  1458.                         may be given in percent or not.
  1459.                         
  1460.                         *) 'Choices'.  Attributes which can only take 
  1461.                         certain predefined choices, such as 
  1462.                         ALIGN=LEFT|CENTER|RIGHT. For these attributes you 
  1463.                         must specify all valid choices in a second dialog 
  1464.                         box. The choices you define will be displayed in the
  1465.                         dialog window as you go along.
  1466.                           Click 
  1467.                         *) 'OK' for each choice
  1468.                         *) 'No more choices' *after* you have clicked OK for the 
  1469.                         last one.
  1470.                         *) 'Remove last' to remove the last choice you just 
  1471.                         defined. You can remove them all one after another
  1472.                         to correct a mistake somewhere. 
  1473.                         
  1474.                         *) 'Flag'.  Attributes which are flags and don't 
  1475.                         take any value, like ISMAP for <IMG> or NOHREF for 
  1476.                         <AREA>.  These attributes will be checkboxes in the 
  1477.                         attribute dialog.  No additional information is 
  1478.                         needed.
  1479.                         
  1480.                         *) 'URL'.  Attributes which take a URL as value, like
  1481.                         HREF, SRC, etc. No additional information is needed.
  1482.                         
  1483.                         *) 'Color'.  Attributes which take a color as 
  1484.                         value.  No additional information is needed.
  1485.                         
  1486.                         *) 'Window'.  Attributes which take a target window 
  1487.                         as value, like the attribute TARGET. No additional 
  1488.                         information is needed.
  1489.         
  1490.                         *) 'Event handler'.  Attributes which are event 
  1491.                         handlers for JavaScript.  No additional information 
  1492.                         is needed.
  1493.                         
  1494.                         Once you have specified all attributes you will be 
  1495.                         presented with a final dialog box, where you are 
  1496.                         asked which layout you want in the html documents.  
  1497.                         (This layout only determines how the tags are 
  1498.                         inserted in the text document, and affects, of 
  1499.                         course, not how the text is displayed by the 
  1500.                         browser.)
  1501.                         For elements without a closing tag you can specify 
  1502.                         if you always want a carriage return inserted 
  1503.                         before and/or after the tag.
  1504.                         
  1505.                         For elements with a closing tag, you can choose 
  1506.                         between four different layouts, whether you want 
  1507.                         the tags to be on lines of their own and if you 
  1508.                         want blank lines before and after them.
  1509.                         
  1510.                         The new element is now saved and after that, if 
  1511.                         you use the status bar to input attributes, you 
  1512.                         will be asked to select which optional attributes 
  1513.                         you want to be asked about (as described here).
  1514.                                                 
  1515.         New Attributes - To add new attributes to an existing HTML element.  
  1516.                         You are first presented with a list from which you 
  1517.                         choose an element to add attributes to.  In this 
  1518.                         list 'LI IN UL' and 'LI IN OL' are the LI element for 
  1519.                         UL and OL lists respectively.  BUTTON, CHECKBOX, 
  1520.                         FILE, HIDDEN, IMAGE, PASSWORD, RADIO, RESET, SUBMIT 
  1521.                         and TEXT are the INPUT element with different 
  1522.                         TYPEs.  LIVEAUDIO, LIVEVIDEO, QUICKTIME MOVIE, 
  1523.                         QUICKTIME VR and REALAUDIO are different plug-ins.  
  1524.                         All the rest are the usual names of the elements.  
  1525.                         Then you specify the attributes in the same way as 
  1526.                         you specify the attributes to a new element as 
  1527.                         described above.
  1528.         
  1529.         New Choices    -    To add new choices to an attribute with predefined 
  1530.                         choices.  You are first presented with a list from 
  1531.                         which you choose the element with the attribute to 
  1532.                         add to.  Second, you are presented with a list from 
  1533.                         which you select the attribute.  Then you specify 
  1534.                         new choices in the same way as described above.
  1535.         
  1536.         Change Key Binding - To change a key binding for a custom element.  
  1537.                         To remove the key binding, leave the text box 
  1538.                         blank.  Note that you can only change the key 
  1539.                         bindings for the elements you have added yourself.
  1540.                         
  1541.         Change Type and Layout - To change the layout of a custom element, 
  1542.                         to change whether it has a closing tag or not, and 
  1543.                         to change its type (normal, input element or 
  1544.                         plugin).
  1545.         
  1546.         Remove Attributes - To remove one or more of the attributes you have 
  1547.                         added to some element, or to remove choices you 
  1548.                         have added to an attribute.  You are first 
  1549.                         presented with a list of all elements you have 
  1550.                         added attributes to.  Select the element you want 
  1551.                         and you are then presented with a list with all 
  1552.                         attributes you have added to this element, where you 
  1553.                         can select the ones you want to remove.  If you 
  1554.                         have only added new choices to an attribute, only 
  1555.                         these choices are removed, not the attribute 
  1556.                         itself.
  1557.                         
  1558.                         There is no function to directly change an 
  1559.                         attribute.  (This is something I hopefully will get 
  1560.                         around to add someday.)  To change an attribute you 
  1561.                         have to first remove it and then add a new one 
  1562.                         again.
  1563.         
  1564.         Remove Additions - To remove an element you have added or to remove 
  1565.                         additions you have made to a predefined element.  
  1566.                         With this function you remove all additions you 
  1567.                         have made to an element.
  1568.         
  1569.                     
  1570.     Move Files… - To move files between different folders, automatically 
  1571.                 updating all links which points to any of these files in 
  1572.                 every file in a home page folder or include folder, as well as 
  1573.                 updating all links in the moved files.
  1574.     
  1575.                 *) First you are asked to select the folder which contains 
  1576.                 the files you want to move.
  1577.                 *) Then you are asked to select the files you want to move 
  1578.                 from this folder.                
  1579.                 *) And then you are asked to select the destination folder.
  1580.                 
  1581.                 Alpha then moves the files and then asks you if you want to 
  1582.                 update all links (this is the whole point of this function, 
  1583.                 so a 'yes' should be appropriate).  Depending on if you 
  1584.                 have moved files in a home page folder or an include 
  1585.                 folder, the following will happen.
  1586.                 
  1587.                 If you have moved files in a home page folder which does not 
  1588.                 have a corresponding include folder
  1589.                 *) the links in all HTML files (as determined by the suffix 
  1590.                 mapping) pointing to the moved files, will be updated.
  1591.                 *) all links in the moved files are updated.
  1592.                 
  1593.                 If you have moved files in a home page folder which has a 
  1594.                 corresponding include folder
  1595.                 *) the links in all HTML files in the home page folder
  1596.                 pointing to the moved files, will be updated.
  1597.                 *) all links in the moved files are updated.
  1598.                 *) the links in all HTML files in the include folder pointing 
  1599.                 to the moved files, will be updated.
  1600.                 (In this case you can optionally choose to only update the
  1601.                 home page folder or include folder, but normally you should
  1602.                 update both.)
  1603.                 
  1604.                 If you have moved files in an include folder
  1605.                 *) all links in the moved files are updated
  1606.                 *) all include tags in the HTML files in the home page 
  1607.                 folder pointing to the moved files are updated.
  1608.                 
  1609.                 Updating links may take a little while if you have very 
  1610.                 many files but should in most cases be a lot faster than 
  1611.                 to make the changes manually.
  1612.                 
  1613.                 Limitations:
  1614.                 • Links within comments , <!-- -->, are also updated (which 
  1615.                 is a bug or a feature, depending on how you see it).
  1616.                 • Alpha only searches for strings like HREF="file" without 
  1617.                 checking that they are inside a tag. This means that Alpha 
  1618.                 could find links, which actually are not links.
  1619.                 • You can only move files between subfolders in one home 
  1620.                 page folder, not between the different home page folders.
  1621.                 • Only files in the home page folder where you move 
  1622.                 files are updated, not the files in any other home page 
  1623.                 folder.
  1624.  
  1625.     Last Modified… - Adds tags to the document which makes it possible to 
  1626.                 automatically add the date and time when the document is 
  1627.                 saved. Two tags inside HTML comments are inserted:
  1628.                 
  1629.                 <!-- #LASTMODIFIED TEXT="some text" FORM="date format" -->
  1630.                 some text and date
  1631.                 <!-- /#LASTMODIFIED -->
  1632.                 
  1633.                 Whenever the document is saved the date is changed.  Don't 
  1634.                 write anything between the comment tags.  It will be removed 
  1635.                 when the document is saved.
  1636.                 
  1637.                 Character translation is done automatically of the text and date.
  1638.                 
  1639.                 In the dialog window you can specify:
  1640.                 *) the text before the date. (Default: Last modified)
  1641.                 *) the date format, long, abbreviated or short. On an American 
  1642.                    system these are:
  1643.                    Saturday, October 19, 1996 9:10 PM
  1644.                    Sat, Oct 19, 1996 9:10 PM
  1645.                    10/19/96 9:10 PM
  1646.                 *) if the weekday should be included in the date. (Does not 
  1647.                    apply to the short format.)
  1648.                 *) if the time should be included in the date.
  1649.                 
  1650.                 If you want to change how the date is displayed, just use 
  1651.                 'Last modified' again and the tags will be replaced.  It is 
  1652.                 not possible to have more than one pair of tags in a 
  1653.                 document.
  1654.  
  1655. Use Attributes    - If you choose to input attributes from the status bar, you 
  1656.                 can select which ones you want to be asked about.  If you 
  1657.                 choose to be asked about attributes in a dialog box you 
  1658.                 will always be asked about all attributes.
  1659.                                 
  1660.                 This menu is disabled if you choose to input attributes in 
  1661.                 a dialog box with all attributes (the default).
  1662.  
  1663.                 For inputting attributes in the status bar, HTML mode is by 
  1664.                 default set to ask about the ones which I think are the most 
  1665.                 popular.  If you choose to use the status bar 
  1666.                 to input attributes I recommend that you go through the 
  1667.                 list and choose the ones you want.  In this list 'LI IN UL'
  1668.                 and 'LI IN OL' are the LI element for UL and OL lists 
  1669.                 respectively.  BUTTON, CHECKBOX, FILE, HIDDEN, IMAGE, 
  1670.                 PASSWORD, RADIO, RESET, SUBMIT and TEXT are the INPUT 
  1671.                 element with different TYPEs.  LIVEAUDIO, LIVEVIDEO, 
  1672.                 QUICKTIME MOVIE, QUICKTIME VR and REALAUDIO are different 
  1673.                 plug-ins.  All the rest are the usual names of the 
  1674.                 elements.
  1675.                 
  1676.                 There is also a question "Ask for more?" If you answer yes, 
  1677.                 the following will happen when you are asked about 
  1678.                 attributes for this element:
  1679.                 *) You are first asked about the ones you have selected via 
  1680.                 this menu.
  1681.                 *) Then you get a question "More attributes?"
  1682.                 *) If you answer yes, you will then be asked about the rest 
  1683.                 of the attributes.
  1684.                 The idea is that you can put a kind of halfway mark.  
  1685.                 First you are asked about the ones you always want to be 
  1686.                 asked about, and then you are optionally asked about the 
  1687.                 rest.
  1688.                 
  1689.                 Note: The settings only affect the current HTML package.  
  1690.                 You have to set everything for both packages even if an 
  1691.                 element is in both of them.  This is because some elements 
  1692.                 have different attributes in the different packages.
  1693.                         
  1694. New Document -    To insert the elements HTML, HEAD, TITLE, BODY in a new 
  1695.                 HTML document.  If you have a text file which you want to 
  1696.                 make into an HTML file, this function lets you put the text 
  1697.                 into the document's BODY element.  Before choosing "New 
  1698.                 document", open a new empty window or a text file which you 
  1699.                 want to make into an HTML document.
  1700.  
  1701.                 First a dialog box appears where you can:
  1702.                 *) give the document a title, 
  1703.                 *) choose elements you want, which can be in the HEAD. 
  1704.                 (These elements can of course be inserted later.)
  1705.                 *) choose a footer which is inserted in the end of the BODY 
  1706.                 element.  You define a file to be a footer via the menu item 
  1707.                 Footers.
  1708.                 
  1709.                 When you are finished with the first dialog box 
  1710.                 you are then asked about attributes for each element you 
  1711.                 have chosen to put in the HEAD, and finally you are asked 
  1712.                 about attributes for the BODY element.  
  1713.                 
  1714.                 The elements <HTML>, <HEAD>, <TITLE>, your chosen ones, and 
  1715.                 <BODY> are now inserted in the text.  If there was text in 
  1716.                 the document, it is put in the BODY before the text in the 
  1717.                 footer.
  1718.  
  1719. Now comes the part of the menu with all HTML elements.  Some of the menu 
  1720. items for the elements are dynamic.  Hold down the option key and you see 
  1721. that some menu items change.  The new ones which appear insert the same 
  1722. element as the other ones but with all attributes automatically skipped.  
  1723. ("No attr" in the menu stands for "no attributes").  The elements which 
  1724. this concerns are <H1>-<H6>, <P>, <DIV>, <BR>, <HR>, <UL>, <OL>, <TR>, <TH> 
  1725. and <TD>.  This can be very useful if you for example are making a table 
  1726. and only for a few cells want to set some attributes.
  1727.  
  1728. Headers    -        Insert section headers, from H1 to H6.
  1729.  
  1730.     Header n  -    <Hn>.
  1731. <opt> Hn no attr -    <Hn> without attributes.
  1732.  
  1733. Blocks and Dividers    -    These are various text-blocks and elements to control
  1734.                 line breaks. 
  1735.                 
  1736.     Insert Line Breaks - Insert a <BR> tag at the end of each line in a 
  1737.                 selection.  To use this, first select the text where you 
  1738.                 want the <BR> tags.
  1739.     
  1740. <opt>Remove Line Breaks - Removes all <BR> tags in a selection (not only 
  1741.                 the ones at end of lines).  To use this, first select the 
  1742.                 text where you want to remove the <BR> tags.
  1743.                 
  1744.     Insert Paragraphs -    Insert <P> elements at each empty line in a selection, 
  1745.                 and one just before the selection.  To use this, first 
  1746.                 select the text where you want the <P> elements.
  1747.                 
  1748.     Paragraph     -    <P>
  1749. <opt>P no attr     -     <P> without attributes.
  1750.     Division     -    <DIV>
  1751. <opt>DIV no attr -     <DIV> without attributes.
  1752.     Block Quote -     <BLOCKQUOTE>
  1753.     Address        -    <ADDRESS>
  1754.     Center        -    <CENTER>
  1755.     Preformatted -    <PRE>
  1756.     Multi Column -    <MULTICOL>
  1757.     Spacing        -    <SPACER>
  1758.     Line Break    -    <BR>
  1759. <opt>BR no attr -    <BR> without attributes.
  1760.     Horizontal Rule - <HR>
  1761. <opt>HR no attr    -    <HR> without attributes.
  1762.     No Line Break -    <NOBR>
  1763.     Word Break    -    <WBR>
  1764.     
  1765. Styles    -        Elements for different text styles.  The ones above the 
  1766.                 line in the middle of the menu are physical styles, while 
  1767.                 the other ones are logical styles.
  1768.     
  1769.     Font        -    <FONT>
  1770.     Basefont    -    <BASEFONT>
  1771.     Bold        -    <B>
  1772.     Italic        -    <I> 
  1773.     Strike out    -    <STRIKE>
  1774.     Underlined    -    <U>
  1775.     Superscript -    <SUP>
  1776.     Subscript    -    <SUB>
  1777.     Bigger        -    <BIG>
  1778.     Smaller        -    <SMALL>
  1779.     Typewriter    -    <TT>
  1780.     Blinking    -    <BLINK>
  1781.     Emphasis    -    <EM>
  1782.     Strong        -    <STRONG>
  1783.     Definition    -    <DFN>
  1784.     Code        -    <CODE>
  1785.     Variable    -    <VAR>
  1786.     Citation    -    <CITE>
  1787.     Keyboard    -    <KBD>
  1788.     Sample        -    <SAMP>
  1789.  
  1790. Links    -        Hypertext links to and from other points, plus images.
  1791.     Link or Anchor - <A>
  1792.     Image        -    <IMG>
  1793.  
  1794. Plug-ins  -        Different plug-ins all using <EMBED>
  1795.     General        -     General <EMBED> tag.
  1796.     LiveAudio etc. -  Plug-ins with more attributes to <EMBED>.
  1797.     No Embed    -    <NOEMBED>
  1798.     
  1799. Lists    -        All kinds of lists. 
  1800.  
  1801.     Make List    -    Makes a list of the text in a selection.  If you, 
  1802.                     for example, have a list 
  1803.                     
  1804.                     * item one
  1805.                     * item two 
  1806.                     * item two
  1807.                     and a half
  1808.                     * item three
  1809.                     
  1810.                     you can make an HTML list of them.  First select the 
  1811.                     lines with the items, before you choose "Make list" 
  1812.                     from the menu.  You are then presented with a dialog 
  1813.                     where you can specify
  1814.                     *) a string with which all list items must begin, in 
  1815.                     this case *.  You cannot transform a list where the 
  1816.                     items begins with 1), 2) etc.  All items must begin 
  1817.                     with the same string.
  1818.                     *) Which kind of list you want.  Choose 'None' if you 
  1819.                     don't want the list tags to be inserted, for example if 
  1820.                     you are inserting new items in an existing list.
  1821.                      
  1822.                     The result in this case will be
  1823.                     
  1824.                     <UL>
  1825.                     <LI>item one
  1826.                     <LI>item two
  1827.                     <LI>item two
  1828.                     and a half
  1829.                     <LI>item three
  1830.                     </UL>
  1831.                         
  1832.     Bulleted    -    <UL> list.
  1833. <opt>UL no attr    -    <UL> without attributes.
  1834.     New Bulleted Item - <LI> with attributes corresponding to an <UL> list.
  1835.     Ordered        -    <OL> list.
  1836. <opt>OL no attr    -    <OL> without attributes.
  1837.     New Ordered Item -    <LI> with attributes corresponding to an <OL> list.
  1838.     Directory    -    <DIR> list.
  1839.     Menu        -    <MENU> list.
  1840.     New List Item -    <LI> without attributes.
  1841.     Discursive    -    <DL> list.
  1842.     New Discursive Entry -    <DT> and <DD>
  1843.     
  1844.     When you make a list you are first asked how many items you want and, 
  1845.     in some cases, if you want to be asked about attributes for each list 
  1846.     item.  You are then asked about attributes for the list element and 
  1847.     finally, if you have said so, about attributes for each list item.
  1848.     
  1849. Forms    -        The elements for building forms.
  1850.  
  1851.     Form        -    <FORM>
  1852.     Text        -    <INPUT TYPE=TEXT>
  1853.     Checkbox    -    <INPUT TYPE=CHECKBOX>
  1854.     Button        -    <INPUT TYPE=BUTTON>
  1855.     Radio        -    <INPUT TYPE=RADIO>
  1856.     Submit        -    <INPUT TYPE=SUBMIT>
  1857.     Reset        -    <INPUT TYPE=RESET>
  1858.     Password    -    <INPUT TYPE=PASSWORD>
  1859.     Hidden        -    <INPUT TYPE=HIDDEN>
  1860.     Image        -    <INPUT TYPE=IMAGE>
  1861.     File Upload    -    <INPUT TYPE=FILE>
  1862.     Select        -    <SELECT>
  1863.     Option        -    <OPTION>
  1864.     Textarea    -    <TEXTAREA>
  1865.     
  1866. Tables    -        The elements for building tables.
  1867.  
  1868.     Table Template… - A function to easily build a table if it does not have 
  1869.                     too complicated a structure.  You are presented with a 
  1870.                     dialog box where you can specify:
  1871.                     *) the number of rows and columns you 
  1872.                     want.  
  1873.                     *) whether you want table headers (TH) in the first row 
  1874.                     and/or the first column.  The rest will be table cells 
  1875.                     (TD).
  1876.                     *) whether or not you want TABLE tags.  Skip the table tags 
  1877.                     if you want to insert new rows in an existing table.                    
  1878.                     *) attributes for TABLE.
  1879.                     *) attributes for TR. These attributes will be the same 
  1880.                     for every row.
  1881.                     
  1882.                     You cannot use this function to build more complicated 
  1883.                     tables which requires attributes such as ROWSPAN and 
  1884.                     COLSPAN.
  1885.     
  1886.     Tabs to Rows -    Takes a tab-delimited table and make HTML table rows.  
  1887.                     To use this, first select the text to make table 
  1888.                     rows of before you choose "Tabs to Rows" from the menu.
  1889.                     
  1890.                     Example: If you have the lines
  1891.                     
  1892. a    b    c
  1893. d    e    f
  1894.                     in your document, "Tabs to Rows" will transform them into
  1895.  
  1896. <TABLE>
  1897.             
  1898. <TR>
  1899. <TD>a</TD><TD>b</TD><TD>c</TD>
  1900. </TR>
  1901.  
  1902. <TR>
  1903. <TD>d</TD><TD>e</TD><TD>f</TD>
  1904. </TR>
  1905.  
  1906. </TABLE>
  1907.                       
  1908.                     Do not put more than one tab between each table cell.  
  1909.                     Alpha makes one table cell for each tab in each row.  
  1910.                     
  1911.                     When you use this function you are presented with a 
  1912.                     dialog box where you can specify:
  1913.                     *) whether you want table headers (TH) in the first row 
  1914.                     and/or the first column.  The rest will be table cells 
  1915.                     (TD).
  1916.                     *) whether or not you want TABLE tags.  Skip the table tags 
  1917.                     if you want to insert new rows in an existing table.                    
  1918.                     *) attributes for TABLE.
  1919.                     *) attributes for TR. These attributes will be the same 
  1920.                     for every row.
  1921.                     
  1922.                     
  1923. <opt>Rows to Tabs - Converts table rows in a selection to a tab-delimited 
  1924.                     format.  (This is "Tabs to Rows" backwards.)  
  1925.                     To use this, first select the table rows you want to 
  1926.                     convert.  This function will remove the elements TR, TH 
  1927.                     and TD, and put one tab between each table cell.  
  1928.                     Everything in each table row will be put on one line.  
  1929.                     If the table contains cells of varying length you may 
  1930.                     have to change the tab size for the table to look 
  1931.                     pretty. This function does not remove the surrounding 
  1932.                     TABLE tags.
  1933.     
  1934.     Import Table… - Function to import a tab delimited table from a file.  
  1935.                     This works just like 'Tabs to Rows' except that the 
  1936.                     table is read from a file rather than being selected in 
  1937.                     the document.
  1938.     
  1939.     Table        -    <TABLE>
  1940.     Row            -    <TR>
  1941. <opt>TR no attr -    <TR> without attributes.
  1942.     Header        -    <TH>
  1943. <opt>TH no attr    -    <TH> without attributes.
  1944.     Cell        -    <TD>
  1945. <opt>TD no attr    -    <TD> without attributes.
  1946.     Caption        -    <CAPTION>
  1947.  
  1948. Frames  -        The elements for building frames. 
  1949.     
  1950.     New Doc. with Frames - The same as New document, with the difference 
  1951.                     that BODY is replaced by FRAMESET.
  1952.     
  1953.     Frameset    -    <FRAMESET>
  1954.     Frame        -    <FRAME>
  1955.     No Frames    -    <NOFRAMES>
  1956.  
  1957. Image Maps -    The elements for client side image maps.
  1958.  
  1959.     Convert NCSA Map… - Lets you select an image map file for the NCSA server, 
  1960.                     converts it to a client side image map definition, and 
  1961.                     inserts it at the current position in the document.
  1962.     
  1963.     Convert CERN Map… - The same function for image map files for the CERN 
  1964.                     server.
  1965.                 
  1966.                     If you know the syntax for image map files for any 
  1967.                     other server, please tell me and I'll add it.
  1968.     
  1969.     Map            -    <MAP>
  1970.     Area        -    <AREA>
  1971.  
  1972. Java    -         The elements for Java and JavaScript.
  1973.  
  1974.     Applet        -    <APPLET>
  1975.     Parameter    -    <PARAM>
  1976.     Script        -    <SCRIPT>
  1977.     No Script     -    <NOSCRIPT>
  1978.  
  1979. Other     -        Things which do not fit elsewhere. 
  1980.  
  1981.     Comment        -    Inserts a HTML comment <!-- -->, or a JavaScript comment
  1982.                     /*  */ if the insertion point is inside a SCRIPT container.
  1983.     Base        -    <BASE>
  1984.     Isindex        -    <ISINDEX>
  1985.     Link        -    <LINK>
  1986.     Meta        -    <META>
  1987.     Comment Line -    Inserts a commented line with = signs.  Use it if you 
  1988.                     want to divide the document into different parts. The
  1989.                     key binding for this is ctrl-C-L.
  1990.  
  1991. Character Entities    - The entities for characters, for example ü is ü.  
  1992.                 All possible entities are divided into three submenus. 
  1993.                 Picking a character from these menus is only useful if you 
  1994.                 only want a single character.  If you write in a language 
  1995.                 which use a lot of these characters, type them in the 
  1996.                 document as usual and then use the character translation.
  1997.                 
  1998.     Add     -        Letters can be added to the short list at the top.
  1999.                     Choose the ones you want from a pick list.
  2000.                     
  2001.     Default -        Sets the short list at the top back to the default 
  2002.                     setting: less than, greater than, ampersand.
  2003.     
  2004.     Clear    -        Removes all letters from the short list.
  2005.                         
  2006.     Small Chars -    Inserts the character entity for a letter, for example, 
  2007.                     á inserts á.
  2008.                     
  2009.     Capital Chars -    Inserts the character entity for a capital letter.
  2010.     
  2011.     Other Chars    -    Character entities for other characters.
  2012.     
  2013.      The reason for the accent being beside some letters is that the font 
  2014.      used in the menus, Chicago, does not have these accented letters.
  2015.  
  2016. ===============================================================================
  2017. = Settings
  2018. ===============================================================================
  2019.  
  2020. HTML mode is highly customizable.  You can modify its behavior in several 
  2021. ways.  
  2022.  
  2023. Use Config -> Current mode -> Flags... to change the settings.
  2024.  
  2025. General
  2026.  
  2027. Bring browser to front when sending a window to it
  2028. If checked, when you send a file to the browser, the browser will be 
  2029. brought to the foreground.  If you have lots of screen space and are just 
  2030. validating, uncheck this flag to leave the browser in the background and 
  2031. Alpha in the foreground.  By default the browser is brought to the foreground.
  2032.  
  2033. Save window without asking when sending it to the browser
  2034. If checked, when you send a file to the browser, the window is saved 
  2035. automatically without asking you. By default you are asked if you want to 
  2036. save the window.
  2037.  
  2038. Set tags in lower case
  2039. If not checked, elements will be like <P>; if checked, like <p>.  By 
  2040. default upper case is used.
  2041.                         
  2042. Use tab marks (•)
  2043. If checked, will insert the • characters.  By default the • characters 
  2044. are inserted.
  2045.  
  2046. <P> has a closing tag </P>
  2047. If checked, the <P> element has a corresponding closing tag.  If not 
  2048. checked it does not.  By default it has a closing tag.
  2049.  
  2050. <LI>, <DT> and <DD> have closing tags
  2051. If checked, <LI>, <DT> and <DD> have corresponding closing tags.  If not 
  2052. checked the optional closing tags are skipped.  By default they do not 
  2053. have closing tags.
  2054.  
  2055. Give attributes in dialog windows, not in the status bar
  2056. If checked, element attributes will be asked about in a dialog box with 
  2057. all attributes, otherwise they will be asked about in the status bar.  By 
  2058. default dialog boxes are used.
  2059.  
  2060. Beep for each attribute (applies only if you use the status bar)
  2061. If checked, and you input element attributes from the status bar, Alpha 
  2062. will beep when asking for element attribute information there.  By default 
  2063. Alpha will beep.  This applies only if you use the status bar.
  2064.  
  2065. Color of HTML tags
  2066. The color of the HTML tags.  The default is blue.  
  2067.  
  2068. JavaScript
  2069.  
  2070. Color JavaScript keywords
  2071. If checked, keywords and comments in JavaScript will be colored.  The way 
  2072. the HTML tags are colored is also changed because the old way does not work 
  2073. well with JavaScript.  By default JavaScript keywords are not colored.
  2074.  
  2075. Electric left braces
  2076. When checked, the left braces, {, will be electric like in C mode.  Check 
  2077. this if you are editing JavaScript.  By default { is not electric.
  2078.  
  2079. Electric right braces
  2080. When checked, the right braces, }, will be electric like in C mode.  Check 
  2081. this if you are editing JavaScript.  That { is electric means that a 
  2082. carriage return will automatically be inserted and the next line will be 
  2083. indented when you type {.  By default } is not electric.
  2084.  
  2085. Include event handlers in attribute dialog
  2086. When checked, the event handlers (onFocus onSelect etc.)  will appear in 
  2087. the attribute dialog.  By default event handlers will not appear in 
  2088. the attribute dialog.
  2089.  
  2090. Color of JavaScript keywords
  2091. The color of keywords in JavaScript.  Applies only if you choose to color 
  2092. JavaScript keywords. The default is magenta.
  2093.     
  2094. Color of JavaScript comments
  2095. The color of comments in JavaScript.  Applies only if you choose to color 
  2096. JavaScript keywords. The default is red.
  2097.  
  2098. Color of strings
  2099. The color of everything between quotes.  Applies only if you choose to 
  2100. color JavaScript keywords.  The default is green.
  2101.  
  2102. Checking links
  2103.  
  2104. Check anchors
  2105. When checked, 'Check links' will check that there is an anchor 
  2106. <A NAME="anchor"> in file.html if a link <A HREF="file.html#anchor"> points
  2107. to it. By default anchors are checked.
  2108.  
  2109. Case sensitive checking (slower)
  2110. When checked, 'Check Links' will check that the case in the links match the 
  2111. case in the file and folder names. This can be useful as Mac file names 
  2112. are not case sensitive, while for example unix file names are. Case 
  2113. sensitive checking is slower, and therefore not done by default. If you 
  2114. send the files to Big Brother, case sensitive checking will not be done, as 
  2115. Big Brother can't do that.
  2116.  
  2117. Bring Big Brother to front when checking links
  2118. If you use Big Brother to check links, this will determine if Big Brother 
  2119. stays in the background or not, when you send files to it. By default Big 
  2120. Brother is brought to the front.
  2121.  
  2122. Use Big Brother's link check options
  2123. When not checked, the settings for the two links checking options below will 
  2124. used instead of the correspoding options in Big Brother. By default
  2125. Big Brother's settings are used.
  2126.  
  2127. Ignore remote links
  2128. The same as the corresponding option in Big Brother.
  2129.  
  2130. Ignore local links
  2131. The same as the corresponding option in Big Brother.
  2132.  
  2133. Word Wrapping
  2134.  
  2135. Line width
  2136. Determines at which position lines are wrapped. This is the HTML mode 
  2137. specific version of the variable fillColumn in the global settings dialog.
  2138.  
  2139. wordBreak            - These two control which characters build up words,
  2140. wordBreakPreface     - 
  2141. wrapBreak            - and these ones control word wrapping.
  2142. wrapBreakPreface    -
  2143.                     Read about them in the general manual if you want to 
  2144.                     change them (should usually not be needed).
  2145.  
  2146. Internal variable which you may change
  2147.  
  2148.     HTMLwords    -    keywords which you want to be highlighted when editing 
  2149.                     HTML in Alpha.  They are colored with the same color as 
  2150.                     the HTML elements.  If you want the words "cool" and 
  2151.                     "nifty" to be highlighted, add the following to your 
  2152.                     preferences file:
  2153.                 
  2154.             lappend HTMLwords cool nifty
  2155.             htmlColorizing
  2156.             
  2157.                     The first line defines the words and the second one 
  2158.                     tells Alpha to color them.  By default there are no 
  2159.                     keywords.
  2160.  
  2161. ===============================================================================
  2162. = HTML Tutorials, References and Validation
  2163. ===============================================================================
  2164.  
  2165. A Beginner's Guide To HTML,
  2166. http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html
  2167.  
  2168. The Web Design Group
  2169. http://www.htmlhelp.com/
  2170.  
  2171. Introducing HTML 3.2
  2172. http://www.w3.org/pub/WWW/MarkUp/Wilbur/
  2173.  
  2174. Introduction to HTML and URLs
  2175. http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/intro.html
  2176.  
  2177. Guide to HTML Commands
  2178. http://www.woodhill.co.uk/html/html.htm
  2179.  
  2180. Creating Net Sites
  2181. http://home.netscape.com/assist/net_sites/
  2182.  
  2183. The Bare Bones Guide to HTML
  2184. http://werbach.com/barebones/
  2185.  
  2186. JavaScript
  2187. http://home.netscape.com/eng/mozilla/3.0/handbook/javascript/
  2188.  
  2189. HTML Validation
  2190. http://www.webtechs.com/html-val-svc/
  2191.